home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / recent / iib122.lha / IIB / Threads / Render_times_go_high < prev    next >
Internet Message Format  |  1998-05-01  |  7KB

  1. Date:         Fri, 24 Apr 1998 20:20:13 -0700
  2. From: Matthew j Roddy <mjroddy@JUNO.COM>
  3. Subject:      Re: [IML] IFW:Render times go nuts!
  4.  
  5. Very perplexing!  I have a fairly simple character who is simply standing
  6. in front of the camera.  But I would like him to have a background, as I
  7. am sure you can imagine.  When I use a BMP as a backdrop and ray trace,
  8. the scene takes about 32 seconds to finish.  So I add a two poly plane
  9. for a ground (which is out of camera view at this point), change nothing
  10. eles, and the rendering times JUMPS to over 4 minutes!  JUST FOR A PLANE!
  11.  WOW!  Can this be explained in simple terms even I can understand?-)
  12. Thanks for all advice and ideas!
  13.  
  14. ----------------------------------
  15.  
  16. Date:         Sat, 25 Apr 1998 03:29:44 -0500
  17. From: "Stephen G." <sgiff@AIRMAIL.NET>
  18.  
  19. Actually I can but I'm sure there are people here who can explain it
  20. better who understand what is happening.  The plane you added as a
  21. ground, you probably scaled to a fairly large size maybe even to the
  22. limits of Imagine's world size.  This is where Imagine's Octovolume
  23. routines come into play.  Octovolumes seem to be a way of optimizing
  24. Imagine's render times so that when you render a scene, Imagine only
  25. needs to compute the rays that strike in the area of the actual scene.
  26. If you have a small central scene with characters or objects placed
  27. within a scene that contains very large objects in terms of dimensions,
  28. not polygons, the Octovolume calculations become confused and begin to
  29. calculate irrational components like the number of rice grains in
  30. china.  This causes quite a bit of confusion in imagine's ray bouncing
  31. algorithms and the end result is that they all end up going for coffee
  32. at Starbucks.
  33.  
  34. O.K. the truth is in there somewhere and I have no Idea how it really
  35. works but it does have something to do with your Octovolume and other
  36. strange words that Impulse has come up with to make Imagine sound more
  37. complicated then it really is.  The other advantage is if you use words
  38. like Octovolume around your office people begin to think you are really
  39. smart.
  40.  
  41. Now where's my beer.
  42.  
  43. ----------------------------------
  44.  
  45. Date:         Sat, 25 Apr 1998 14:34:11 +0400
  46. From: Charles Blaquiere <blaq@INTERLOG.COM>
  47.  
  48. I believe Stephen is right: adding the large object has made the octree
  49. much more complex. If all you want is a ground plane, have you tried the
  50. Imagine Ground object? (Object/New/Ground) It's "special", and may not
  51. cause your render times to skyrocket. (Just a theory -- try it out)
  52.  
  53. There are several octree algorithms, and I'm not sure which one Imagine
  54. uses, but here's a very gross approximation to convey the general sense
  55. of what's going on.
  56.  
  57. How do you divide sand? One way is to split the pile in two, then split
  58. each pile in two, again and again, until you are left with individual
  59. grains of sand. In 3D software, the octree method allows the computer to
  60. separate faces by repeatedly dividing the world into, not two, but eight
  61. parts. (It divides the world in two, along the XY, YZ, and XZ planes,
  62. giving eight pieces)
  63.  
  64. An octree is a data structure, similar to a family tree, where each node
  65. describes a cubic volume of space, and has up to 8 children. Often,
  66. octrees are built from the top down: take your world volume and split it
  67. into eight cubes. If any cube contains more than one face, split it
  68. again, recursively. When done, you have a structure that describes the
  69. areas of space occupied by faces. This allows Imagine to easily
  70. pinpoint, say, the faces  that could potentially be hit by a light ray
  71. travelling from A to B.
  72.  
  73. Faces that are closely-packed will require many more levels of
  74. subdivision to isolate them, which is why users are advised to enlarge
  75. scenes that only occupy a tiny volume of the total Imagine world space,
  76. since it reduces the number of levels in the octree required to separate
  77. the closest faces in your scene.
  78.  
  79. Hypothetical example: starting from a volume of 32K units on a side (the
  80. Imagine world), level-1 nodes will describe volumes 16K units on a side,
  81. level-2 nodes are 8K, and so on. By the time you reach level 10, you're
  82. describing cubes of 1024x1024x1024 units, and by the time you reach
  83. level 15, the cubes are 1x1x1 units. Let's suppose this is as small as
  84. Imagine needs to go to separate all your faces. If your scene is
  85. contained within the cube starting at (0,0,0) and extending to
  86. (1024,1024,1024), the first 5 divisions are useless, since they don't
  87. separate any of the faces -- everything in your scene will end up in the
  88. same cube of space. This wasted effort in building the octree will be
  89. repeated when traversing it, _repeatedly,_ as Imagine renders your
  90. scene.
  91.  
  92. Faulty though it may be, this explanation will hopefully shed light on
  93. the mysterious advice to "scale everything up".
  94.  
  95. ----------------------------------
  96.  
  97. Date:         Sat, 25 Apr 1998 11:30:06 -0700
  98. From: Matthew j Roddy <mjroddy@JUNO.COM>
  99.  
  100. First, thanks for the info!  I appreciate it.
  101. Ok.  I placed my 200 unit tall character at 0,0,0, which makes him approx
  102. +100 and -100 relative to absolute 0.  Set up the camera to get mainly a
  103. head shot with .TIF for a background pic in Globals.  Render time is 58
  104. seconds.
  105. I add a backdrop which is 720x480 positioned at 0,600,0.    Everything is
  106. within Imagine's world size as I understand it.
  107. The backdrop is full bright so no shadows fall on it, and by itself
  108. renders (raytrace) at about 8 seconds.  But when they were both put
  109. together in the same scene, I finally stopped the render after 7 minutes
  110. and it wasn't even half way done!
  111. Very disappointing!
  112. I am running on a Dual PII w/2x266s and 128meg ram.
  113.  
  114. Again, thanks for you msg, and any further ideas are MOST welcome.
  115.  
  116. ----------------------------------
  117.  
  118. Date:         Sun, 26 Apr 1998 07:09:18 -0500
  119. From: Gregory Denby <gdenby@TWAIN.HELIOS.ND.EDU>
  120.  
  121. Matthew j Roddy wrote:
  122. >...I finally stopped the render after 7 minutes
  123. >and it wasn't even half way done!
  124.  
  125. &
  126.  
  127. >The backdrop is full bright so no shadows fall on it,
  128.  
  129. I'm infering that there is a shadow caster in the scene, then. It doesn't
  130. matter as far as the renderer is concerned if the backdrop is made bright
  131. to avoid any shadow. The renderer still goes through the whole routine of
  132. making the shadows throughout the larger space. The last few versions
  133. of Imagine set the world size automatically, so adding the backdrop with
  134. a dimension of 720 i.u. makes the world size at least a cube with a size
  135. 720 on a side, instead of 200 with just the figure. Lots more space for all
  136. the rays to go bouncing around. Here's an idea, if you have no reflections in
  137. scene. Reduce the recursion level for the render. Default is eight. Try one
  138. and see what happens.
  139.  
  140. ----------------------------------
  141.  
  142. Date:         Mon, 27 Apr 1998 10:55:39 -0700
  143. From: Matthew j Roddy <mjroddy@JUNO.COM>
  144.  
  145. >scene. Reduce the recursion level for the render. Default is eight.
  146. >Try one and see what happens.
  147.  
  148. Gooood idea!  I have ONE small item that is reflective (a pair of
  149. glasses).  That should need any real reflectivity depth!  Very cool.
  150.  
  151. >?Help any?
  152.  
  153. Definately!  Thanks!
  154.  
  155. ----------------------------------
  156.  
  157.